home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / mig / RCS / Mig_Evict.c,v < prev    next >
Text File  |  1990-06-22  |  4KB  |  165 lines

  1. head     2.1;
  2. branch   ;
  3. access   ;
  4. symbols  no-auto-remigrate:2.1 installed:2.0;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 2.1
  10. date     90.06.22.14.58.20;  author douglis;  state Exp;
  11. branches ;
  12. next     2.0;
  13.  
  14. 2.0
  15. date     90.03.10.13.12.42;  author douglis;  state Stable;
  16. branches ;
  17. next     1.2;
  18.  
  19. 1.2
  20. date     90.02.28.10.57.43;  author douglis;  state Exp;
  21. branches ;
  22. next     1.1;
  23.  
  24. 1.1
  25. date     90.02.16.14.28.12;  author douglis;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29.  
  30. desc
  31. @Force the daemon on the local host to evict foreign processes.
  32. This might be useful if one is remotely logged into a host
  33. and wishes to evict processes, since automatic migration is done
  34. when the user is physically present to interact with the host.
  35. @
  36.  
  37.  
  38. 2.1
  39. log
  40. @changes for alarms for timeouts with migd and for printing to stderr instead of syslog
  41. @
  42. text
  43. @/* 
  44.  * Mig_Evict.c --
  45.  *
  46.  *    Force the daemon on the local host to evict foreign processes.
  47.  *    This might be useful if one is remotely logged into a host
  48.  *    and wishes to evict processes, since automatic migration is done
  49.  *    when the user is physically present to interact with the host.
  50.  *
  51.  * Copyright 1990 Regents of the University of California
  52.  * Permission to use, copy, modify, and distribute this
  53.  * software and its documentation for any purpose and without
  54.  * fee is hereby granted, provided that the above copyright
  55.  * notice appear in all copies.  The University of California
  56.  * makes no representations about the suitability of this
  57.  * software for any purpose.  It is provided "as is" without
  58.  * express or implied warranty.
  59.  */
  60.  
  61. #ifndef lint
  62. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_Evict.c,v 2.0 90/03/10 13:12:42 douglis Stable Locker: douglis $ SPRITE (Berkeley)";
  63. #endif /* not lint */
  64.  
  65.  
  66. #include <sprite.h>
  67. #include <stdio.h>
  68. #include <mig.h>
  69. #include <errno.h>
  70.  
  71.  
  72. /*
  73.  *----------------------------------------------------------------------
  74.  *
  75.  * Mig_Evict --
  76.  *
  77.  *    Tell the local daemon to evict foreign processes.
  78.  *
  79.  * Results:
  80.  *    The number of processes evicted is returned if the call is successful,
  81.  *    or -1 is returned on error, with errno indicating the error.
  82.  *
  83.  * Side effects:
  84.  *    Does ioctl to server.
  85.  *
  86.  *----------------------------------------------------------------------
  87.  */
  88. int
  89. Mig_Evict()
  90. {
  91.     int status;
  92.     int numHosts;
  93.     
  94.     if (mig_LocalPdev < 0) {
  95.     if (MigOpenPdev(FALSE) < 0) {
  96.         return(-1);
  97.     }
  98.     }
  99.         
  100.     if (MigSetAlarm() < 0) {
  101.     fprintf(stderr,
  102.         "Error setting alarm for contact with migd.\n");
  103.     return(-1);
  104.     }
  105.     status = Fs_IOControl(mig_LocalPdev, IOC_MIG_EVICT,
  106.               0, (char *) NULL,
  107.               sizeof(int), (char *) &numHosts);
  108.     if (MigClearAlarm() < 0) {
  109.     fprintf(stderr,
  110.         "Error clearing alarm for contact with migd.\n");
  111.     }
  112.     if (status != SUCCESS) {
  113.     fprintf(stderr,
  114.            "Mig_Evict: error during ioctl to local daemon: %s\n",
  115.            Stat_GetMsg(status));
  116.     errno = Compat_MapCode(status);
  117.     return(-1);
  118.     }
  119.     return(numHosts);
  120. }
  121. @
  122.  
  123.  
  124. 2.0
  125. log
  126. @Changing version numbers.
  127. @
  128. text
  129. @d20 1
  130. a20 1
  131. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_Evict.c,v 1.2 90/02/28 10:57:43 douglis Exp Locker: douglis $ SPRITE (Berkeley)";
  132. a27 1
  133. #include <syslog.h>
  134. d58 5
  135. d66 4
  136. d71 1
  137. a71 1
  138.     syslog(LOG_WARNING,
  139. @
  140.  
  141.  
  142. 1.2
  143. log
  144. @changed Mig_OpenPdev to internal Mig routine.
  145. @
  146. text
  147. @d20 1
  148. a20 1
  149. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_Evict.c,v 1.1 90/02/16 14:28:12 douglis Exp Locker: douglis $ SPRITE (Berkeley)";
  150. @
  151.  
  152.  
  153. 1.1
  154. log
  155. @Initial revision
  156. @
  157. text
  158. @d20 1
  159. a20 1
  160. static char rcsid[] = "$Header: /user2/douglis/pdev_mig/mig_p/RCS/Mig_Evict.c,v 1.1 90/02/08 20:22:10 douglis Exp Locker: douglis $ SPRITE (Berkeley)";
  161. d54 1
  162. a54 1
  163.     if (Mig_OpenPdev(FALSE) < 0) {
  164. @
  165.